<?php 
	global $_W,$_GPC;
	if($_W['role']&&$_W['isajax']){
		if(strtotime($_GPC['starttime'])>strtotime($_GPC['endtime'])){
			exit(json_encode(array('status'=>'2','msg'=>'结束时间不能大于开始时间')));
		}		
		$code = new Ucode(random(8,true),'Mii_');
		$card_id = $code->code_on();
		$data = array(
			'uniacid'=>$_W['uniacid'],
			'card_id'=>$card_id,
			'roof'=>'MII',
			'title'=>$_GPC['title'],
			'addtime'=>$_W['timestamp'],
			'starttime'=>strtotime($_GPC['starttime']),
			'endtime'=>strtotime($_GPC['endtime']),
			'bg_color'=>$_GPC['bg_color'],
			'card_type'=>$_GPC['card_type'],
			'minus'=>$_GPC['minus'],
			'discount'=>$_GPC['discount'],
			'quantity'=>$_GPC['total_quantity'],
			'total_quantity'=>$_GPC['total_quantity'],
			'get_limit'=>$_GPC['get_limit'],
			'time_type'=>'DATE_TYPE_FIX_TIME_RANGE',
			'status'=>$_GPC['status'],
			'condition'=>$_GPC['condition'],
			'orderid'=>$_GPC['orderid']			
		);
		$ins = pdo_insert('mii_ang_card',$data);
		if($ins){
			exit(json_encode(array('status'=>'1','msg'=>'添加卡券成功')));
		}else{
			exit(json_encode(array('status'=>'2','msg'=>'添加卡券失败')));
		}
	}else{
		exit(json_encode(array('status'=>'2','msg'=>'没有操作权限')));
	}
class Ucode { 	
  private $uid;
  private $tid;
  public function __construct($uid,$tid) {
    $this->uid = $uid;
    $this->tid = $tid;	
  }
    //密码字典 
    private $dic = array( 
        0=>'0',    1=>'1', 2=>'2', 3=>'3', 4=>'4', 5=>'5', 6=>'6', 7=>'7', 8=>'8',     
        9=>'9', 10=>'A',  11=>'B', 12=>'C', 13=>'D', 14=>'E', 15=>'F',  16=>'G',  17=>'H',     
        18=>'I',19=>'J',  20=>'K', 21=>'L',  22=>'M',  23=>'N', 24=>'O', 25=>'P', 26=>'Q',     
    27=>'R',28=>'S',  29=>'T',  30=>'U', 31=>'V',  32=>'W',  33=>'X', 34=>'Y', 35=>'Z' 
    ); 
    public function encodeID($int, $format=8) { 
        $dics = $this->dic; 
        $dnum = 36; //进制数 
        $arr = array (); 
        $loop = true; 
        while ($loop) { 
            $arr[] = $dics[$this->my_bcmod($int, $dnum)]; 
            $int = $this->bcdiv_cust($int,$dnum, 0); 
            if ($int == '0') { 
                $loop = false; 
            } 
        } 
        if (count($arr) < $format) 
            $arr = array_pad($arr, $format, $dics[0]); 
 
        return implode('', array_reverse($arr)); 
    } 
	public function my_bcmod($x,$y) 
	{ 
	    $take = 5;     
	    $mod = ''; 

	    do 
	    { 
	        $a = (int)$mod.substr( $x, 0, $take ); 
	        $x = substr( $x, $take ); 
	        $mod = $a % $y;    
	    } 
	    while ( strlen($x) ); 
	    return (int)$mod; 
	} 
	public function bcdiv_cust( $first, $second, $scale = 0 )
	{
	    $res = $first / $second;
	    return round( $res, $scale );
	}	
	public function code_on()
	{
		$card_no = $this->encodeID($this->uid,8); 
		$card_pre = $this->tid; 
		$card_vc = substr(md5($card_pre.$card_no),0,2); 
		$card_vc = strtoupper($card_vc); 
		$code_on = $card_pre.$card_no.$card_vc; 
		return $code_on;
	}

}

?>